home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
pcsuni1.zip
/
HOHO302.ZIP
/
HOHAUS1.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1997-03-24
|
11KB
|
438 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
;------------------------------------------------------------------------------
STRING005 = String(PcbNode())
If (PcbNode() == 0) STRING005 = "A"
INTEGER007 = ToInteger(GetEnv(STRING005 + "RECNO"))
STRING002 = Random(1000) + "X" + STRING005 + ".NDX"
DOpen 1, PPEPath() + "HOHAUS.DBF", 0
DTop 1
DnCreate 1, PPEPath() + STRING002, 0
DCloseAll
STRING006 = "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
STRING007 = "@X10└@X19─────────────────────────────────────────────────────────────────────────────@X19┘@X0F"
STRING008 = "@X40┌─────────────────────────────────────────────────────────────────────────────@X4C┐@X0F"
STRING009 = "@X40└@X4C─────────────────────────────────────────────────────────────────────────────┘@X0F"
:LABEL001
DCloseAll
DOpen 0, PPEPath() + "HOHAUS.DBF", 0
DGo 0, INTEGER007
DOpen 1, PPEPath() + "HOHAUS.DBF", 0
DTop 1
DnOpen 1, PPEPath() + STRING002
Gosub LABEL013
If (DGet(0, "C_ACT_L") < 1) Then
PrintLn STRING008
PrintLn "@X40│ @X4AYOU DON'T HAVE ANY OFFENSIVE ACTIONS LEFT FOR THIS SESSION @POS:79@@X4C│@X07"
PrintLn STRING009
Delay (2 * 182) / 10
Else
PrintLn
PrintLn STRING006
PrintLn "@X10│ @X30Offensive Actions!@X1B @X1EAttempts Left:@X1B ", DGet(0, "C_ACT_L"), " @X1EMuscle Left: @X1B", DGet(0, "MUSCLE"), " @POS:79@@X19│@X07"
PrintLn "@X10│ @POS:79@@X19│@X07"
PrintLn "@X10│ @X1C[@X1B@X1ES@X1C]@X1B@X1B Steal money from another player @X1C[@X1BW@X1C]@X1B Steal a whore @POS:79@@X19│@X07"
PrintLn "@X10│ @X1C[@X1B@X1EH@X1C]@X1B@X1B Sabotage another players house @X1C[@X1BC@X1C] @X1BRat someone out to the cops@POS:79@@X19│@X07"
PrintLn "@X10│ @X1C[@X1B@X1EI@X1C]@X1B@X1B Spy on another player@POS:79@@X19│@X07"
PrintLn "@X10│ @X1C[@X1B@X1EG@X1C]@X1B@X1B Get Muscle @X1C[@X1AENTER@X1B@X1C]@X1B Main Menu @POS:79@@X19│@X07"
PrintLn STRING007
Newlines 2
InputStr "Your choice: _", STRING001, 15, 1, "SHIGWC", 0 + 8
If (STRING001 == "") Goto LABEL015
Select Case (STRING001)
Case "S"
Goto LABEL002
Case "H"
Goto LABEL003
Case "I"
Goto LABEL004
Case "G"
Goto LABEL005
Case "W"
Goto LABEL006
Case "C"
Goto LABEL007
End Select
:LABEL002
Gosub LABEL010
Gosub LABEL013
DGo 1, DGet(0, "TARGET")
If (Random(3) == 1) Then
PrintLn STRING008
PrintLn "@X40│ @X4BHe spotted your soldiers, and X'caped them @POS:79@@X4C│@X07"
PrintLn STRING009
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Tried to rob you!"
Gosub LABEL014
Goto LABEL001
Endif
DGet 1, "CASH", INTEGER005
DPut 1, "CASH", 0
DPut 0, "CASH", DGet(0, "CASH") + INTEGER005
DPut 0, "C_ACT_L", DGet(0, "C_ACT_L") - 1
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Robbed you of $" + String(INTEGER005)
Gosub LABEL014
If (INTEGER005 < 1) Then
PrintLn STRING008
PrintLn "@X40│ @X4EHe wasn't carrying any cash! @POS:79@@X4C│@X0F"
PrintLn STRING009
Delay (2 * 182) / 10
Goto LABEL001
Endif
PrintLn STRING006
PrintLn "@X10│ @X1BYou got@X1A ", INTEGER005, "@X1B in cash from him! @POS:79@@X19│@X07"
PrintLn STRING007
Delay (2 * 182) / 10
Goto LABEL001
:LABEL003
Gosub LABEL010
Gosub LABEL013
DGo 1, DGet(0, "TARGET")
DPut 0, "C_ACT_L", DGet(0, "C_ACT_L") - 1
INTEGER001 = DGet(1, "DEFENSE")
INTEGER003 = DGet(1, "MUSCLE")
INTEGER004 = DGet(1, "DEFENSE") - DGet(0, "DEFENSE") + Random(100)
If (INTEGER004 > 50) Then
INTEGER005 = (INTEGER004 - 50) / 10
If (INTEGER005 > DGet(0, "MUSCLE")) INTEGER005 = DGet(0, "MUSCLE")
PrintLn STRING008
PrintLn "@X40│ @X4EHe was waiting for you! @POS:79@@X4C│@X0F"
PrintLn "@X40│ @POS:79@@X4C│@X0F"
PrintLn "@X40│ @X4AYou lost @X4B", INTEGER005, "@X4A Soldiers in the attempt! @POS:79@@X4C│@X0F"
PrintLn STRING009
DPut 0, "MUSCLE", DGet(0, "MUSCLE") - INTEGER005
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Wrecked one of your houses!"
Gosub LABEL014
Delay (2 * 182) / 10
Goto LABEL001
Endif
If (INTEGER004 <= 50) Then
INTEGER005 = (INTEGER004 + 50) / 10
If (INTEGER005 > INTEGER003) INTEGER005 = INTEGER003
PrintLn STRING006
PrintLn "@X10│ @X1CYou caught him completely by surprise! @POS:79@@X19│@X07"
PrintLn "@X10│ @POS:79@@X19│@X07"
PrintLn "@X10│ @X1BHe lost @X9C", INTEGER005, " @X1BSoldiers! @POS:79@@X19│@X07"
PrintLn STRING007
DPut 1, "MUSCLE", DGet(1, "MUSCLE") - INTEGER005
If (DGet(1, "LEVEL") > 1) DPut 1, "LEVEL", DGet(1, "LEVEL") - 1
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Wrecked one of your houses!"
Gosub LABEL014
Delay (2 * 182) / 10
Goto LABEL001
:LABEL004
Gosub LABEL010
Gosub LABEL013
DGo 1, DGet(0, "TARGET")
INTEGER005 = Random(2)
If (INTEGER005 == 1) Then
If (Exist(PPEPath() + DGet(1, "MAIL_NUM") + ".MSG")) Then
DispFile PPEPath() + DGet(1, "MAIL_NUM") + ".MSG", 2 + 1 + 4
Wait
Goto LABEL001
Endif
Endif
If ((INTEGER005 <> 1) && !Exist(PPEPath() + DGet(1, "MAIL_NUM") + ".MSG")) Then
PrintLn STRING008
PrintLn "@X40│ @X4EYOUR SPY ATTEMPT WAS UNSUCCESFUL @POS:79@@X4C│@X0F"
PrintLn STRING009
Delay (2 * 182) / 10
Goto LABEL001
Endif
INTEGER005 = Random(10)
If (INTEGER005 == 8) Then
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Has a tap on your phone!"
Gosub LABEL014
Goto LABEL001
Endif
PrintLn STRING008
PrintLn "@X40│ @X4EYOUR SPY ATTEMPT WAS UNSUCCESFUL @POS:79@@X4C│@X0F"
PrintLn "@X40│ @X4AYOUR OPPONENT HAS BEEN NOTIFIED! @POS:79@@X4C│@X0F"
PrintLn STRING009
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Tried to spy on you!"
Gosub LABEL014
Delay (3 * 182) / 10
Goto LABEL001
:LABEL005
Gosub LABEL013
If (DGet(0, "MUSCLE") > 9) Then
PrintLn STRING008
PrintLn "@X40│ @X4EYOU CAN'T HANDLE ANY MORE MUSCLE @POS:79@@X4C│@X0F"
PrintLn STRING009
Delay (2 * 182) / 10
Goto LABEL001
Endif
If (DGet(0, "CASH") < DGet(0, "LEVEL") * 100) Then
PrintLn STRING008
PrintLn "@X40│ @X4EYOU DON'T HAVE ENOUGH CASH ON HAND TO BUY MUSCLE @POS:79@@X4C│@X0F"
PrintLn STRING009
Delay (2 * 182) / 10
Goto LABEL001
Endif
DPut 0, "CASH", DGet(0, "CASH") - DGet(0, "LEVEL") * 100
DPut 0, "MUSCLE", DGet(0, "MUSCLE") + 1
DPut 0, "C_ACT_L", DGet(0, "C_ACT_L") - 1
Goto LABEL001
:LABEL006
If (INTEGER006 > 9) Then
PrintLn STRING008
PrintLn "@X40│ @X4EYOU CAN'T HANDLE ANY MORE WHORES @POS:79@@X4C│@X0F"
PrintLn STRING009
Delay (2 * 182) / 10
Goto LABEL001
Endif
Gosub LABEL010
Gosub LABEL013
DGo 1, DGet(0, "TARGET")
DPut 0, "C_ACT_L", DGet(0, "C_ACT_L") - 1
PrintLn STRING006
InputStr "@X10│ @X1EWhich whore do you want to steal? [1-10] _@POS:79@@X19│@X07", INTEGER001, 15, 2, Mask_Num(), 0
PrintLn STRING007
If ((INTEGER001 > 10) || (INTEGER001 == 0)) Goto LABEL006
STRING001 = Strip("G" + String(INTEGER001), " ")
If (DGet(1, STRING001) > 0) Then
STRING003 = Strip("G" + 10 - INTEGER006, " ")
DPut 0, STRING003, DGet(1, STRING001)
DPut 0, "KILLS", DGet(0, "KILLS") + 1
DPut 1, STRING001, 0
Endif
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Swiped one of your whores!"
Gosub LABEL014
Goto LABEL001
:LABEL007
Gosub LABEL010
Gosub LABEL013
DGo 1, DGet(0, "TARGET")
DPut 0, "C_ACT_L", DGet(0, "C_ACT_L") - 1
INTEGER005 = Random(10)
If (INTEGER005 == 8) PrintLn STRING008
PrintLn "@X40│ @X4EYOU GOT YOURSELF NAILED IN A STING OPERATION! @POS:79@@X4C│@X07"
PrintLn "@X40│ @POS:79@@X4C│@X07"
If (DGet(0, "LEVEL") > 1) PrintLn "@X40│ @X4DYOU LOST A HOUSE LEVEL! @POS:79@@X4C│@X07"
PrintLn "@X40│ @X40YOUR BRIBED COPS WERE IN ON IT! @POS:79@@X4C│@X07"
If (DGet(0, "MUSCLE") > 0) PrintLn "@X40│ @X4AONE OF YOUR BOUNCERS WAS SHOT BY THE COPS! @POS:79@@X4C│@X07"
PrintLn STRING009
If (DGet(0, "LEVEL") > 1) DPut 0, "LEVEL", DGet(0, "LEVEL") - 1
DPut 0, "BRIBEAMT", 0
If (DGet(0, "MUSCLE") > 0) DPut 0, "MUSCLE", DGet(0, "MUSCLE") - 1
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Ratted you out to the cops!"
Gosub LABEL014
INTEGER005 = Random(10)
If (INTEGER005 == 8) Then
DGet 0, "HANDLE", STRING004
DTop 1
:LABEL008
If (DEof(1)) Goto LABEL009
DGet 1, "MAIL_NUM", STRING003
FOpen 1, PPEPath() + Trim(STRING003, " ") + ".Msg", 2, 0
FPutLn 1, "From: Snitch Central on " + String(Date())
FPutLn 1, Mixed(STRING004), " snitched to the cops, watch out for this Scumbag!"
FPutLn 1, "──────────────────────────────────────────────────────────────────────────────"
FClose 1
DSkip 1, 1
Goto LABEL008
Endif
:LABEL009
Delay (2 * 182) / 10
Goto LABEL001
Endif
PrintLn STRING006
PrintLn "@X10│ @X1EHE GOT NAILED ON YOUR INFORMATION! @POS:79@@X19│@X07"
PrintLn "@X10│ @POS:79@@X19│@X07"
If (DGet(1, "LEVEL") > 1) PrintLn "@X10│ @X1CHE LOST A HOUSE LEVEL! @X19│@X07"
PrintLn "@X10│ @X1CHIS BRIBED COPS WERE IN ON IT! @POS:79@@X19│@X07"
If (DGet(1, "MUSCLE") > 0) PrintLn "@X10│ @X1EONE OF HIS BOUNCERS WAS SHOT BY THE COPS! @POS:79@@X19│@X07"
PrintLn STRING007
If (DGet(1, "LEVEL") > 1) DPut 1, "LEVEL", DGet(1, "LEVEL") - 1
DPut 1, "BRIBEAMT", 1
If (DGet(1, "MUSCLE") > 1) DPut 1, "MUSCLE", DGet(1, "MUSCLE") - 1
STRING010 = Trim(DGet(0, "HANDLE"), " ") + " Ratted you out to the cops!"
Gosub LABEL014
Delay (2 * 182) / 10
Goto LABEL001
:LABEL010
DPut 0, "TARGET", 0
Backup 80
ClrEol
Print "@X0APlayer to harass@X0E: .........................@X0F"
Backup 25
InputStr "_", STRING004, 10, 25, Mask_Ascii(), 0 + 8
If (STRING004 == "") Goto LABEL001
DTop 1
:LABEL011
If (DEof(1)) Goto LABEL012
If (Trim(DGet(1, "HANDLE"), " ") == Trim(STRING004, " ")) Then
DPut 0, "TARGET", DRecNo(1)
Return
Endif
DSkip 1, 1
Goto LABEL011
:LABEL012
Backup 80
ClrEol
PrintLn STRING008
PrintLn "@X40│ @X4EThat user is either out of town or not in the game @POS:79@@X4C│@X07"
PrintLn STRING009
Delay (2 * 182) / 10
DPut 0, "TARGET", 0
Goto LABEL001
:LABEL013
INTEGER006 = 0
For INTEGER002 = 1 To 10
STRING001 = Strip("G" + String(INTEGER002), " ")
If (DGet(0, STRING001) > 0) INTEGER006 = INTEGER006 + 1
Next
DPut 0, "DEFENSE", (DGet(0, "KILLS") + DGet(0, "MUSCLE") + DGet(0, "BANKED") + DGet(0, "BRIBEAMT") + INTEGER006) * DGet(0, "LEVEL")
DPut 0, "NETWORTH", DGet(0, "CASH") + DGet(0, "BANKED") + DGet(0, "LEVEL") * (DGet(0, "MUSCLE") * 100) + (INTEGER006 * 100) * DGet(0, "LEVEL")
If (DGet(0, "CONDOMS") < 1) DPut 0, "CONDOMS", 0
Cls
If (FALSE) Then
PrintLn STRING006
PrintLn "@X10│@X1F", Mixed(Trim(DGet(0, "HANDLE"), " ")), "'s Holdings@POS:40@@X13Networth@X10:@X1A ", Trim(DGet(0, "NETWORTH"), " "), "@X13@POS:65@Level@X10:@X1E ", Trim(DGet(0, "LEVEL"), " "), "@POS:79@@X19│@X0F"
PrintLn STRING007
Endif
PrintLn STRING006
PrintLn "@X10│@X13Defensive status@X10:@X1E ", Trim(DGet(0, "DEFENSE"), " "), "@POS:25@@X13Condom Count @X10:@X1C ", Trim(DGet(0, "CONDOMS"), " "), "@X13@POS:50@Cronies@X10:@X1E ", Trim(DGet(0, "MUSCLE"), " "), "@POS:64@@X13Whores@X10:@X1C ", INTEGER006, "@POS:79@@X19│@X0F"
PrintLn STRING007
PrintLn "@X10┌──────────────────────────────@X19┐@X10┌────────────────────@X19┐@X10┌───────────────────────@X19┐@X0F"
PrintLn "@X10│@X13Offensive acts left@X10:@X9C ", Trim(DGet(0, "C_ACT_L"), " "), "@X19@POS:32@│@X10│ ", "@X13@POS:20@Banked@X10:@X1A ", Trim(DGet(0, "BANKED"), " "), "@POS:54@@X19│@X10│", "@X13 Played@X1E ", Trim(DGet(0, "PLAYED"), " "), "@X13 Times", "@POS:79@@X19│@X0F"
PrintLn "@X10└@X19──────────────────────────────┘@X10└@X19────────────────────┘@X10└@X19───────────────────────┘@X0F"
Return
:LABEL014
DGo 1, DGet(0, "TARGET")
DGet 1, "MAIL_NUM", STRING003
FAppend 1, PPEPath() + Trim(STRING003, " ") + ".Msg", 2, 0
FPutLn 1, "@X0EFrom: @X0CSnitch Central @X0Eon@X09 " + String(Date())
FPutLn 1, "@X0C──────────────────────────────────────────────────────────────────────────────"
FPutLn 1, "@X0A" + STRING010
FPutLn 1, "@X0C──────────────────────────────────────────────────────────────────────────────"
FCloseAll
Return
Endif
:LABEL015
DCloseAll
Delete PPEPath() + STRING002
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 2 ClrEol
; 1 Wait
; 60 Goto
; 35 Let
; 1 Print
; 75 PrintLn
; 43 If
; 1 DispFile
; 1 FOpen
; 1 FAppend
; 1 FClose
; 7 FPutLn
; 1 Delete
; 3 InputStr
; 21 Gosub
; 3 Return
; 13 Delay
; 1 Newlines
; 3 Backup
; 1 FCloseAll
; 3 DOpen
; 3 DCloseAll
; 1 DnCreate
; 1 DnOpen
; 4 DTop
; 7 DGo
; 2 DSkip
; 4 DGet
; 27 DPut
;
;
; ■ Functions used :
;
; 20 *
; 15 /
; 54 +
; 16 -
; 16 ==
; 1 <>
; 5 <
; 2 <=
; 17 >
; 2 >=
; 26 !
; 3 &&
; 2 ||
; 22 Trim()
; 7 Random()
; 2 Date()
; 3 Strip()
; 6 String()
; 1 Mask_Num()
; 1 Mask_Ascii()
; 11 PPEPath()
; 2 PcbNode()
; 1 GetEnv()
; 2 Exist()
; 1 ToInteger()
; 2 Mixed()
; 2 DEof()
; 1 DRecNo()
; 80 DGet()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 16 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------